package com.dd.cloud.user.entity.product;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 收费服务产品购买记录表
 *
 * @author Lx
 * @version 1.0
 * @date 2024/1/19
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Table(comment = "收费服务产品购买记录表")
public class ProductBuyRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 收费服务产品购买记录表id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Column(isKey = true, isAutoIncrement = true)
    private Integer id;

    /**
     * 订单编号
     */
    @Column(length = 50, comment = "订单编号")
    private String orderNo;

    /**
     * 产品id
     */
    @Column(comment = "产品id")
    private Integer productId;

    /**
     * 商品类型 1首月优惠 2月卡会员 3季卡会员 4年卡会员
     */
    @Column(comment = "商品类型 1首月优惠 2月卡会员 3季卡会员 4年卡会员")
    private Integer spType;

    /**
     * 月份
     */
    @Column(comment = "月份")
    private Integer month;

    /**
     * 销售价
     */
    @Column(comment = "销售价")
    private Integer price;

    /**
     * 实际支付金额
     */
    @Column(comment = "实际支付金额")
    private Integer actualPay;

    /**
     * 医生id
     */
    @Column(comment = "医生id")
    private Integer doctorId;

    /**
     * 医生姓名
     */
    @Column(length = 30, comment = "医生姓名")
    private String doctorName;

    /**
     * 医生账号
     */
    @Column(length = 11, comment = "医生账号")
    private String doctorAccount;

    /**
     * 账号类型 1社会 2慈善
     */
    @Column(comment = "账号类型 1社会 2慈善")
    private Integer accountType;

    /**
     * 是否认证 1是 0否
     */
    @Column(comment = "是否认证 1是 0否")
    private Integer isAuth;

    /**
     * 生效时间
     */
    @Column(comment = "生效时间")
    private LocalDateTime startDate;

    /**
     * 有效期
     */
    @Column(comment = "有效期")
    private LocalDateTime expirDate;

    /**
     * 支付时间
     */
    @Column(comment = "支付时间")
    private LocalDateTime payDate;

    /**
     * 创建时间
     */
    @Column(comment = "创建时间")
    private LocalDateTime createDate;

    /**
     * 状态 1正常(已支付) 2未支付
     */
    @Column(comment = "状态 1正常(已支付) 2未支付")
    private Integer status;
}
